package com.falidos.visao.servlets;

import java.io.IOException;
import java.util.HashMap;
import java.util.LinkedList;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.falidos.controle.Controlador;
import com.falidos.modelo.artefatos.Artefato;
import com.falidos.modelo.artefatos.Carrinho;
import com.falidos.modelo.artefatos.Livro;

@WebServlet("/AddRemCarrinho")
public class AddRemCarrinho extends SuperServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	}

	@SuppressWarnings("unchecked")
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		HttpSession session = request.getSession();
		Carrinho carrinho = (Carrinho) session.getAttribute("carrinho");  
		
		if(request.getParameter("acao").equals("remover")){
			carrinho.remover(request.getParameter("id"));
		}
		else{
			Controlador c = Controlador.obterInstancia();
			HashMap<String, String[]> paramPesquisa = new HashMap<String, String[]> ();//HashMap  com parametros da pesquisa
			HashMap<String, Object> dados = preparaDados(request);
			Livro livro = null;
			
			paramPesquisa.put("campos", new String[]{"id"});
			paramPesquisa.put("operador", new String[]{"="});
			paramPesquisa.put("chaves", new String[]{(String) dados.get("id")});
			
			System.out.print(dados.get("id"));
			
			dados.put("acao", "pesquisar");
			dados.put("botSubmit", "Livro");
			LinkedList<Artefato> rs = (LinkedList)c.executarAcao(dados, paramPesquisa);//joga pro controlador, que chama a persistencia, que chama o DAO e executa a acao e retorna os dados, em umsa LinkedList
			
			livro = (Livro) rs.get(0);
			carrinho.adicionar(livro);
		}
		
		response.sendRedirect("/falidos.com/carrinho/carrinho.jsp");
	}

}
